package com.bci.pwtz.service;

import com.bci.pwtz.common.util.PaginationList;
import com.bci.pwtz.exception.CanNotDeleteException;
import com.bci.pwtz.exception.PwtzDatabaseException;
import com.bci.pwtz.mysql.model.Zydlzd;

public interface ZydlzdService
{
    /**
     * 添加变电站设备
     * 一句话描述 <br/>
     * <p>Description: TODO(详细描述) 
     * <br/>
     * <p>Author: Administrator<br/>
     * <p>Date: 2014年10月22日-下午3:05:47<br/>
     * <p>
     * @param obj
     * @return
     * @throws PwtzDatabaseException   
     *
     */
    public Zydlzd add(Zydlzd obj)throws PwtzDatabaseException;
    /**
     * 修改变电站设备
     * 一句话描述 <br/>
     * <p>Description: TODO(详细描述) 
     * <br/>
     * <p>Author: Administrator<br/>
     * <p>Date: 2014年10月22日-下午3:06:12<br/>
     * <p>
     * @param obj
     * @return
     * @throws PwtzDatabaseException   
     *
     */
    public int update(Zydlzd obj)throws PwtzDatabaseException;
    /**
     * 删除变电站设备
     * 一句话描述 <br/>
     * <p>Description: TODO(详细描述) 
     * <br/>
     * <p>Author: Administrator<br/>
     * <p>Date: 2014年10月22日-下午3:06:55<br/>
     * <p>
     * @param obj
     * @return
     * @throws PwtzDatabaseException   
     *
     */
    public int delete(String deviceid)throws PwtzDatabaseException,CanNotDeleteException;
    /**
     * 查询变电站设备
     * 一句话描述 <br/>
     * <p>Description: TODO(详细描述) 
     * <br/>
     * <p>Author: Administrator<br/>
     * <p>Date: 2014年10月22日-下午3:07:34<br/>
     * <p>
     * @param deviceid
     * @return
     * @throws PwtzDatabaseException   
     *
     */
    public Zydlzd load(String deviceid)throws PwtzDatabaseException;
    /**
     * 
     * 一句话描述 <br/>
     * <p>Description: TODO(详细描述) 
     * <br/>
     * <p>Author: Administrator<br/>
     * <p>Date: 2014年10月24日-下午4:11:43<br/>
     * <p>
     * @param devicename
     * @param companyid
     * @param portalType
     * @param medLineCodes
     * @param lineCode
     * @param beginTime
     * @param endTime
     * @param pageSize
     * @param pageNo
     * @return
     * @throws PwtzDatabaseException   
     *
     */
    public PaginationList<Zydlzd> list(String devicename,Long companyid,int portalType,String[] medLineCodes,String lineCode,String beginTime,String endTime, int pageSize, int pageNo)throws PwtzDatabaseException;
    
    public PaginationList<Zydlzd> selectList(String cablecode,String devicename,Long companyid, int pageSize, int pageNo)throws PwtzDatabaseException;
}
